package com.mallify.service.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.mallify.common.model.system.SystemMenu;

import java.util.List;

/**
 * SystemMenuService 接口
 * +----------------------------------------------------------------------
 * | HANSON [ HANSON赋能开发者，助力企业发展 ]
 * +----------------------------------------------------------------------
 * | Licensed HANSON并不是自由软件，未经许可不能去掉HANSON相关版权
 * +----------------------------------------------------------------------
 * | Author: HANSON Team <hanson0622@126.com>
 * +----------------------------------------------------------------------
 */
public interface SystemMenuService extends IService<SystemMenu> {

    /**
     * 获取所有菜单
     * @return List<SystemMenu>
     */
    List<SystemMenu> findAllCatalogue();

    /**
     * 获取所有权限
     * @return List
     */
    List<SystemMenu> getAllPermissions();

    /**
     * 通过用户id获取权限
     */
    List<SystemMenu> findPermissionByUserId(Integer userId);

    /**
     * 获取用户路由
     * @param userId 用户id
     * @return List
     */
    List<SystemMenu> getMenusByUserId(Integer userId);
}
